(nreverse res))))
(defun comp-supertypes (type)
- "Return the ordered list of supertypes of TYPE."
- (or (assq type (comp-cstr-ctxt-typeof-types comp-ctxt))
- (error "Type %S missing from typeof-types!" type)))
+ "Return the ordered list of supertypes of TYPE."
+ (or (assq type (comp-cstr-ctxt-typeof-types comp-ctxt))
+ (progn
+ (display-warning
+ 'native-compiler
+ (format "Unknown type %S" type))
+ '(t))))
(defun comp--union-typesets (&rest typesets)
"Union types present into TYPESETS."
(defun comp-test-67883-1-f ()
'#1=(1 . #1#))
+(cl-defstruct comp-test-73270-base)
+(cl-defstruct
+ (comp-test-73270-child1 (:include comp-test-73270-base)))
+(cl-defstruct
+ (comp-test-73270-child2 (:include comp-test-73270-base)))
+(cl-defstruct
+ (comp-test-73270-child3 (:include comp-test-73270-base)))
+(cl-defstruct
+ (comp-test-73270-child4 (:include comp-test-73270-base)))
+
+(defun comp-test-73270-1-f (x)
+ (cl-typecase x
+ (comp-test-73270-child1 'child1)
+ (comp-test-73270-child2 'child2)
+ (comp-test-73270-child3 'child3)
+ (comp-test-73270-child4 'child4)))
+
+(defun comp-test-76573-1-f ()
+ (record 'undeclared-type))
+
\f
;;;;;;;;;;;;;;;;;;;;
;; Tromey's tests ;;